package com.review.project.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.review.common.annotation.Excel;
import com.review.common.core.domain.BaseEntity;
import org.apache.poi.ss.formula.functions.Index;

/**
 * 项目数据对象 review_project
 *
 * @author Evan
 * @date 2022-03-15
 */
public class ProjectData extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @Excel(name = "序号", sort = 9)
    private Integer index=1;

    public Integer getIndex() {
        return index;
    }

    public void setIndex(Integer index) {
        this.index = index;
    }

    private Long id;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    private String proName;

    /**
     * 项目文件
     */
//    @Excel(name = "项目文件")
    private String proFile;

    /**
     * 项目类型
     */
//    @Excel(name = "项目类型")
    private String proType;

    /**
     * 项目主要描述
     */
//    @Excel(name = "项目主要描述")
    private String proDescr;

    /**
     * 项目上传人（根据当前登录来获取的学生姓名）
     */
//    @Excel(name = "项目上传人", readConverterExp = "根=据当前登录来获取的学生姓名")
    private String proAuthor;

    /**
     * 项目上传时间（上传时当前北京时间）时间戳存库，页面显示：yyyy-MM-dd hh:mm
     */
//    @Excel(name = "项目上传时间", readConverterExp = "上=传时当前北京时间")
    private String proCreatetime;

    /**
     * 项目分组状态（0:未分组，1：已分组）
     */
//    @Excel(name = "项目分组状态", readConverterExp = "0=:未分组，1：已分组")
    private Integer proGroupStatus;

    /**
     * 所属小组id()
     */
//    @Excel(name = "所属小组id()")
    private Long groupId;

    /**
     * 上传人id（不显示，方便调用）
     */
    private Long userId;

    /**
     * 审核状态（0：待审，1：已通过审核）
     */
//    @Excel(name = "审核状态", readConverterExp = "0=：待审，1：已通过审核")
    private Integer status;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setProName(String proName) {
        this.proName = proName;
    }

    public String getProName() {
        return proName;
    }

    public void setProFile(String proFile) {
        this.proFile = proFile;
    }

    public String getProFile() {
        return proFile;
    }

    public void setProType(String proType) {
        this.proType = proType;
    }

    public String getProType() {
        return proType;
    }

    public void setProDescr(String proDescr) {
        this.proDescr = proDescr;
    }

    public String getProDescr() {
        return proDescr;
    }

    public void setProAuthor(String proAuthor) {
        this.proAuthor = proAuthor;
    }

    public String getProAuthor() {
        return proAuthor;
    }

    public void setProCreatetime(String proCreatetime) {
        this.proCreatetime = proCreatetime;
    }

    public String getProCreatetime() {
        return proCreatetime;
    }

    public void setProGroupStatus(Integer proGroupStatus) {
        this.proGroupStatus = proGroupStatus;
    }

    public Integer getProGroupStatus() {
        return proGroupStatus;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("proName", getProName())
                .append("proFile", getProFile())
                .append("proType", getProType())
                .append("proDescr", getProDescr())
                .append("proAuthor", getProAuthor())
                .append("proCreatetime", getProCreatetime())
                .append("proGroupStatus", getProGroupStatus())
                .append("groupId", getGroupId())
                .append("userId", getUserId())
                .append("status", getStatus())
                .toString();
    }
}
